package com.fowo.api.model.amazon.fba.refund.orders;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/**
 * 亚马逊FBA退货订单表 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Getter
@Setter
public class AmazonFbaRefundOrdersImportPo {

  /** 订单号 */
  @ExcelProperty("订单号")
  @Size(max = 50, message = "订单号长度不能超过50")
  private String orderId;

  /** MSKU */
  @ExcelProperty("MSKU")
  @Size(max = 50, message = "MSKU长度不能超过50")
  private String sku;

  /** ASIN */
  @ExcelProperty("ASIN")
  @Size(max = 50, message = "ASIN长度不能超过50")
  private String asin;

  /** 标题 */
  @ExcelProperty("标题")
  @Size(max = 5000, message = "标题长度不能超过5000")
  private String productName;

  /** FNSKU */
  @ExcelProperty("FNSKU")
  @Size(max = 50, message = "FNSKU长度不能超过50")
  private String fnsku;

  /** 店铺 */
  @ExcelProperty("店铺")
  @Size(max = 50, message = "店铺长度不能超过50")
  private String sidShopName;

  @ExcelIgnore
  @Schema(title = "店铺")
  private String sid;

  /** 国家 */
  @ExcelProperty("国家")
  @Size(max = 50, message = "国家长度不能超过50")
  private String countryName;

  @ExcelIgnore
  @Schema(title = "国家")
  private String country;

  /** 品名 */
  @ExcelProperty("品名")
  @Size(max = 5000, message = "品名长度不能超过5000")
  private String name;

  /** SKU */
  @ExcelProperty("SKU")
  @Size(max = 50, message = "SKU长度不能超过50")
  private String productSku;

  /** 退货数量 */
  @ExcelProperty("退货数量")
  @IntegerString(message = "退货数量数值格式不正确", label = "退货数量")
  private String quantity;

  /** 发货仓库编码 */
  @ExcelProperty("发货仓库编码")
  @Size(max = 50, message = "发货仓库编码长度不能超过50")
  private String fulfillmentCenterId;

  /** 库存属性 */
  @ExcelProperty("库存属性")
  private String detailedDisposition;

  /** 退回原因 */
  @ExcelProperty("退回原因")
  @Size(max = 50, message = "退回原因长度不能超过50")
  private String reason;

  /** 状态 */
  @ExcelProperty("状态")
  @Size(max = 50, message = "状态长度不能超过50")
  private String status;

  /** LPN编号 */
  @ExcelProperty("LPN编号")
  @Size(max = 50, message = "LPN编号长度不能超过50")
  private String licensePlateNumber;

  /** 买家备注 */
  @ExcelProperty("买家备注")
  @Size(max = 5000, message = "买家备注长度不能超过5000")
  private String customerComments;

  /** 退货时间 */
  @ExcelProperty("退货时间")
  @DateTimeString(message = "退货时间不是有效的时间日期格式")
  private String returnDate;

  /** 标签 */
  @ExcelProperty("标签")
  @Size(max = 50, message = "标签长度不能超过50")
  private String label;

  /** 备注 */
  @ExcelProperty("备注")
  @Size(max = 50, message = "备注长度不能超过50")
  private String remark;

  /** 站点 */
  @ExcelProperty("站点")
  @Size(max = 50, message = "站点长度不能超过50")
  private String region;
}
